<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 父组件模板-->
    <div id="app">
        <cpn :number1="num1" 
             :number2="num2"
             @num1change="num1change" 
             @num2change="num2change">
        </cpn>
    </div>
    <template id="cpn">
        <div>
                <h2>props:{{number1}}</h2>
                <h2>dnumber1:{{dnumber1}}</h2>

                <!-- <input type="text" v-model="dnumber1"> -->
                <input type="text" v-bind:value="dnumber1" @input="num1Input">
                <h2>props:{{number2}}</h2>
                <h2>dnumber2:{{dnumber2}}</h2>

                <!-- <input type="text" v-model="dnumber2"> -->
                <input type="text" :value="dnumber2" @input="num2Input">
        </div>
    </template>
    <script src="../js/vue.js"></script>
    <script>
          //父组件 ------ 双向绑定案例
          const app=new Vue({
            el:'#app',
            data:{
                num1:1,
                num2:0
            },
            methods:{
                num1change(value){
                    console.log("--------------")
                    this.num1=parseFloat(value)
                },
                num2change(value){
                    this.num2=parseFloat(value)
                }
            },
            components:{
                cpn:{
                    template:'#cpn',
                    props:{
                        //目的  是父组件来修改该值
                        number1: Number,
                        number2: Number
                    },
                    data(){
                        return {
                            dnumber1:this.number1,
                            dnumber2:this.number2
                        }
                    },
                    methods:{
                        num1Input(event){
                            //1将input中的value赋值到dnumber1中
                            this.dnumber1=event.target.value
                            //2为了让父组件可以修改值，发出一个事件
                            this.$emit('num1change',this.dnumber1)
                            //3同时修改dnumber2的值
                            this.dnumber2=this.dnumber1
                        },
                        num2Input(event){
                            this.dnumber2=event.target.value
                            this.$emit('num2change',this.dnumber2)

                        }
                    }
                }
            }
        })
    </script>
</body>
</html>